﻿using AutoMapper;
using TestCluster.usermodels;

namespace TestCluster
{
    /// <summary>
    /// 
    /// </summary>
    public class TestClusterApplicationAutoMapperProfile : Profile
    {

        /// <summary>
        /// 
        /// </summary>
        public TestClusterApplicationAutoMapperProfile()
        {
            /* You can configure your AutoMapper mapping configuration here.
             * Alternatively, you can split your mapping configurations
             * into multiple profile classes for a better organization. */
            // DefaultModel:



            // *UserInfo*:
            CreateMap<UserInfo, UserInfoListDto>();
            CreateMap<UserInfo, UserInfoDto>();
            CreateMap<UserInfo, UserInfoUpdateDto>();
            CreateMap<UserInfoUpdateDto, UserInfo>();
            CreateMap<UserInfoAddDto, UserInfo>();

            // *RoleInfo*:
            CreateMap<RoleInfo, RoleInfoListDto>();
            CreateMap<RoleInfo, RoleInfoDto>();
            CreateMap<RoleInfo, RoleInfoUpdateDto>();
            CreateMap<RoleInfoUpdateDto, RoleInfo>();
            CreateMap<RoleInfoAddDto, RoleInfo>();

            // *GradeInfo*:
            CreateMap<GradeInfo, GradeInfoListDto>();
            CreateMap<GradeInfo, GradeInfoDto>();
            CreateMap<GradeInfo, GradeInfoUpdateDto>();
            CreateMap<GradeInfoUpdateDto, GradeInfo>();
            CreateMap<GradeInfoAddDto, GradeInfo>();

            // *GradeRole*:
            CreateMap<GradeRole, GradeRoleListDto>();
            CreateMap<GradeRole, GradeRoleDto>();
            CreateMap<GradeRole, GradeRoleUpdateDto>();
            CreateMap<GradeRoleUpdateDto, GradeRole>();
            CreateMap<GradeRoleAddDto, GradeRole>();

            // *PartInfo*:
            CreateMap<PartInfo, PartInfoListDto>();
            CreateMap<PartInfo, PartInfoDto>();
            CreateMap<PartInfo, PartInfoUpdateDto>();
            CreateMap<PartInfoUpdateDto, PartInfo>();
            CreateMap<PartInfoAddDto, PartInfo>();

            // *BindUserPart*:
            CreateMap<BindUserPart, BindUserPartListDto>();
            CreateMap<BindUserPart, BindUserPartDto>();
            CreateMap<BindUserPart, BindUserPartUpdateDto>();
            CreateMap<BindUserPartUpdateDto, BindUserPart>();
            CreateMap<BindUserPartAddDto, BindUserPart>();

        }
    }
}